package com.empire.module.member.dal.dataobject.warningindividual;

import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

@Data
public class UnifiedWarningDTO {
    /**
     * 预警ID
     */
    private Long id;

    /**
     * 人员ID
     */
    private Long personId;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 人员姓名
     */
    private String personName;
    /**
     * 证件号码
     */
    private String idNumber;

    /**
     * 预警条件ID
     */
    private Long warningConditionId;  // 原warning_condition_id

    /**
     * 预警时间
     */
    private Date warningTime;  // 原warning_time

    /**
     * 预警内容
     */
    private String warningContent;  // 原warning_content

    /**
     * 创建时间
     */
    private Date createTime;  // 原create_time

    /**
     * 预警类型
     */
    private Integer warnType;

    /**
     * 预警类型描述
     */
    private String warnTypeText;

    /**
     * 围栏类型
     */
    private Integer fenceType;  // 原fence_type

    /**
     * 经度
     */
    private Double lng;  // 保持不变（单字段）

    /**
     * 纬度
     */
    private Double lat;  // 保持不变（单字段）

    /**
     * 是否已读（0-未读，1-已读）
     */
    private Integer isRead;  // 原is_read

    /**
     * 聚集ID
     */
    private Long gatherId;  // 原gather_id

    /**
     * 配置ID
     */
    private Long configId;  // 原config_id

    /**
     * 地址
     */
    private String address;  // 保持不变

    /**
     * 定位时间
     */
    private Date locationTime;  // 原location_time

    /**
     * 来源表（individual-非聚集，gather-聚集）
     */
    private String sourceTable;  // 原source_table

    /**
     * 排序时间（用于全局排序）
     */
    private Date sortTime;  // 保持不变（已符合驼峰）
    /**
     * 聚集人数
     */
    private Integer warnPersonCount;


    /**
     * 聚集条件名称
     */
    private String gatherName;
    /**
     * 聚集地址
     */
    private String gatherAddress;
    /**
     * 聚集开始时间
     */
    private LocalDateTime startTime;
    /**
     * 聚集结束时间
     */
    private LocalDateTime endTime;
}
